﻿namespace Esprima.Ast
{
    public enum Nodes
    {
        AssignmentExpression,
        ArrayExpression,
        BlockStatement,
        BinaryExpression,
        BreakStatement,
        CallExpression,
        CatchClause,
        ChainExpression,
        ConditionalExpression,
        ContinueStatement,
        DoWhileStatement,
        DebuggerStatement,
        EmptyStatement,
        ExpressionStatement,
        ForStatement,
        ForInStatement,
        FunctionDeclaration,
        FunctionExpression,
        Identifier,
        IfStatement,
        Import,
        Literal,
        LabeledStatement,
        LogicalExpression,
        MemberExpression,
        NewExpression,
        ObjectExpression,
        Program,
        Property,
        RestElement,
        ReturnStatement,
        SequenceExpression,
        SwitchStatement,
        SwitchCase,
        TemplateElement,
        TemplateLiteral,
        ThisExpression,
        ThrowStatement,
        TryStatement,
        UnaryExpression,
        UpdateExpression,
        VariableDeclaration,
        VariableDeclarator,
        WhileStatement,
        WithStatement,
        ArrayPattern,
        AssignmentPattern,
        SpreadElement,
        ObjectPattern,
        ArrowParameterPlaceHolder,
        MetaProperty,
        Super,
        TaggedTemplateExpression,
        YieldExpression,
        ArrowFunctionExpression,
        AwaitExpression,
        ClassBody,
        ClassDeclaration,
        ForOfStatement,
        MethodDefinition,
        ImportSpecifier,
        ImportDefaultSpecifier,
        ImportNamespaceSpecifier,
        ImportDeclaration,
        ExportSpecifier,
        ExportNamedDeclaration,
        ExportAllDeclaration,
        ExportDefaultDeclaration,
        ClassExpression,
    };
}